The invention relates generally to computer systems or networks, and more particularly to an improved system and method for accessing computer system information.
Network administrators run management applications to perform such tasks as detect machines on a network, inventory software and hardware configurations, and send key information back to a central database. Such management applications receive this information from a variety of disparate sources in an enterprise network.
By way of example, typical sources for management information include databases and the underlying system. For example, a database may be queried by a management application, or a system call may be made to determine the state of some device, e.g., the free space of a disk. Alternatively, some management applications interface directly with instrumentation that can pull information from device drivers or other software components. For example, a management application may communicate with remote disk drive software to determine how much free space remains on a network drive. As can be readily appreciated, the wide variety of management applications and resources, protocols, formats, frameworks, and so on made it difficult and complicated for management applications and the users thereof to obtain the desired information.
A significant improvement for accessing and returning management information is described in U.S. patent application Ser. No. 09/020,146, wherein a common information model object manager (CIMOM) is provided to isolate management applications from the various sources of management information, while providing a single, uniform way to access the information. With the CIMOM, each management application submits queries to the CIMOM in a uniform way. The CIMOM then communicates with one or more sources of the information, known as providers, to return an appropriate reply. The CIMOM is intelligent in that it can decompose queries into requests from multiple providers and synthesize the results into a single response, filter excess information, work with the capabilities of the providers, and so forth.
While the CIMOM thus provides significant benefits in accessing management applications, the CIMOM is designed for client processes written as C++ objects or VB applications with relatively complex syntax. For example, the CIMOM provides COM (Component Object Model) interfaces in a vtable, which is a set of pointers to its methods (functions). These interfaces may require multiple (IN and OUT) parameters that can be very confusing, and use a somewhat unnatural notation to specify properties and methods. As a result, accessing system information via the CIMOM is beyond the capabilities of many users of the system that may benefit from the information, even though those users may be proficient in a scripting language.
Briefly, the present invention provides a method, system and related concepts that simplify the management of enterprise network devices and information through the use of scripts and a scripting object model. To this end, an API is provided that transforms scripts passed from a scripting engine into the existing xe2x80x9clow-levelxe2x80x9d COM syntax required for CIMOM queries. According to the architecture, a scripting engine receives the scripts and works with the API to translate script instructions into the COM method calls needed to access properties and methods of CIMOM objects. For example, to obtain a disk""s free space, a client script may simply request xe2x80x9cobj.FreeSpacexe2x80x9d for that disk object, which is translated into a set of identifiers and commands that retrieve the free space of the disk via CIMOM.
In addition to providing direct access of properties and methods, the present invention involves other aspects related to scripting, including collections, events, monikers and security. Collections enable a set of objects or properties thereof to be serviced iteratively, for example, to manipulate or retrieve properties for a set of resources in simple loop. Events enable queries to be made asynchronously, such that calls return immediately, and later complete via COM event notifications. Monikers enable the simplification of strings in the script, by providing for shorthand definitions to represent a sequence of instructions in a single string. Security is provided, by emulating the ability to set security.
Other advantages will become apparent from the following detailed description when taken in conjunction with the drawings, in which: